Release notes for WebAPI 3.13.0

 

New functionality

Filtering of retrievable media files added

From WebAPI version 3.12.1.4354, a new idLookupFilter setting is available for an image server configuration in adlibweb.xml. Using this setting you can add a criterion, executed in the database table set in idLookupDatabase, which any retrieved record must match before a linked media file can be retrieved. This way you can limit media file retrieval to records which have been set to "Publishable", for example. The filter value must comply to Collections advanced search rules. The idLookupDatabase doesn't necessarily need to be media, if the field which determines whether a linked media file is allowed to be retrieved is located in a different database table. Normal access rights applied to media records still apply, so the filter doesn't overrule those. Example:

<idLookupFilter>wp='x'</idLookupFilter>

An error ID Lookup failed: No record found... will be returned if a requested file can't be retrieved.

Optional XSLT processing for the load command's response

Prior to WebAPI build 3.12.1.4341, the load command for XML payload processing returned an empty recordlist response with diagnostics. Now, an additional (and optional) styleSheet setting is available to use in the payloadConfiguration section, to process the response and to output more useful data, with your own stylesheet. Example:

<payloadConfiguration name="my_payload_type1" type="XML">
    <database>collect</database>
    <adapl>C:\Data\Axiell\model452\adapls\myadapl</adapl>
    <styleSheet>my_stylesheet.xslt</styleSheet>
</payloadConfiguration>

The stylesheet transformation is applied before the response is returned to the caller, similar to the search and q commands.

The globally configured xsltScriptingAllowed setting will be applied, so set it to true if you need stylesheet transformations.

Bug fixes

  • The WebAPI could return a Search method not found error when setting output to JSON. Fixed in 3.12.1.4348.

  • Invalid enumerative values could be written via the insertrecord or updaterecord commands. Fixed in build 3.12.1.4347. Any invalid enumeration values are now ignored but the records are written. Error messages will be shown in the XML or JSON response’s diagnostic node, but only when debug is enabled (as was already the case).

  • An OAI set search statement with sort fields would throw an error, while sort fields should be ignored. Fixed in version 3.12.1.4345: OAI response will be sorted by priref with deleted records added at the end of the result. Note the deleted records are only listed at the very end of the output of the OAI request, so one needs to iterate through the results (if there are multiple result pages) using the resumptionTokens to get to the deleted records.

  • When the publish_on_web field was configured as inheritable, the WebAPI still did not return individually requested records in which this field was virtually ticked through inheritance (while in the brief display results these records did show up correctly). Fixed in build 3.12.1.4342.

  • Authentication via a service principal (Entra ID/Azure App) using a ClientId, TenantId and ClientSecret was not yet possible in the Axiell Azure Blob Storage media plugin. Fixed in 3.12.1.4338. SasTokens can no longer be used.

  • A WebAPI-based image server could not handle file names including the & symbol because the file name got truncated at the ampersand. Fixed in 3.12.1.4334. Now the & is accepted as part of the value argument in a getcontent request.

  • When retrieving facets for an enumerative field like record_type, only the English value was retrieved, instead of all translations, which meant that to retrieve a specific translation an additional call had to be made with the relevant language parameter. Fixed in 3.12.1.4330.


  • OAI calls no longer reported deleted records in the ListRecords output. Fixed in 3.12.1.4323.

  • When using a WebAPI-based image server for Collections, using the Axiell generic Media Server plugin to integrate with Knowledge Integration (K-Int) middleware while also querying the server for files, thumbnails were not being retrieved correctly. When a record has more than one image attached, in the Collections Media viewer the thumbnails would just repeatedly show the first image, rather than showing the different images. And the Gallery view would show the same thumbnail for different records. Fixed in WebAPI generic plugin build 3.12.1.4319 (404-errors were not always handled properly and redirect support has been added for faster response) and Collections 3.2.
    So now when using the generic plugin, without authentication on the web service that is configured (! - authentication is required only to query the WebAPI and to retrieve the preview/proxy url’s: the retrieved temporary or static URL can play in any browser but always use the authenticated call to get the proper URL), redirection is applied. This means that when you call the WebAPI, the response URL in the browser is the direct endpoint that was configured. This leads to performance improvements, also for Collections, because when Collections calls the WebAPI, Collections will receive the response URL directly and the WebAPI will not first load the media and then pass it through to collections.
    This redirect URL mechanism was already applied to the Axiell FotoWare image plugin too and works with or without the fallback=true parameter.
    The request URL configured for the WebAPI does need to start with https and because the WebAPI redirects the URL to Collections, the K-Int service URL needs to be whitelisted in the Collections CSP <WhitelistImages> section like this:
    <WhitelistImages>https://rct-public.ciim.k-int.com/axiell/%value%</WhitelistImages>

  • Inherited fields were no longer resolved when indexed links were used. Fixed in 3.12.1.4318. A condition for it to work is that the inherited field (the target field) is included in the <detailfields> configuration section.

  • Any adapl error messages were not included in JSON output. This was fixed in 3.12.1.4313.

  • Negative dates were shown incorrectly in API facets (because they had been indexed wrong). Fixed in 3.12.1.4312.

  • Any unresolved link exception (e.g. because of an imported link reference without matching linked record) causes any subsequent linked fields to not be resolved. Fixed in version 3.12.1.4310.

  • Under certain circumstances, there was an Axiell Piction image plugin error when connecting to a Piction server via https. Fixed in 3.12.1.4302: TLS 1.3 support was added.